home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revolution - Das Atari CD Magazin 1997
/
Revolution - Das Atari CD Magazin 1.iso
/
software
/
progtool
/
olga
/
olga.lzh
/
olgalib
/
OLGA.H
next >
Wrap
C/C++ Source or Header
|
1996-06-02
|
4KB
|
124 lines
/*
OLGA - Implementierung des OLGA-Protokolls von Th. Much für Pure C
------------------------------------------------------------------
geschrieben 1995 von
Thomas Künneth
Friedrich-Neuper-Str. 2b
90552 Röthenbach
*/
#ifndef _OLGA_
#define _OLGA_
#ifndef _MAGICTYP_
#ifndef _DANDY_
#ifndef BOOLEAN
typedef enum {FALSE,TRUE} BOOLEAN;
#endif
#endif
#endif
#define OL_SERVER 0x0001 /* Applikation ist OL-Server */
#define OL_CLIENT 0x0002 /* Applikation ist OL-Client */
#define OL_PIPES 0x1000 /* Kommunikation via MultiTOS-Pipes */
#define OL_START 0x2000 /* Manager kann OLGA_START ausführen */
#define OL_MANAGER 0x4000 /* Applikation ist der OLGA-Manager */
#define OL_OEP 0x0001 /* Applikation versteht OEP */
#define OLS_TYPE 0x0001 /* [4]=0, in [5] steht ein
XAcc-Programmtyp */
#define OLS_EXTENSION 0x0002 /* in [4]+[5] steht eine Extension
(z.B. ".GEM") */
#define OLS_NAME 0x0003 /* in [4]+[5] steht ein Pointer auf den
absoluten Dateinamen der zu startenden
Applikation */
#define OLE_INIT 0x4950
#define OLE_EXIT 0x4951
#define OLE_NEW 0x4952
#define OLGA_INIT 0x1236
#define OLGA_UPDATE 0x1238
#define OLGA_ACK 0x1239
#define OLGA_RENAME 0x123a
#define OLGA_OPENDOC 0x123b
#define OLGA_CLOSEDOC 0x123c
#define OLGA_LINK 0x123d
#define OLGA_UNLINK 0x123e
#define OLGA_UPDATED 0x123f
#define OLGA_RENAMELINK 0x1240
#define OLGA_LINKRENAMED 0x1241
#define OLGA_BLOCK 0x1242
#define OLGA_UNBLOCK 0x1243
#define OLGA_BREAKLINK 0x1244
#define OLGA_LINKBROKEN 0x1245
#define OLGA_START 0x1246
#define OLGA_GETINFO 0x1247
#define OLGA_INFO 0x1248
/* --- Makros für SC_CHANGED ---
----------------------------- */
#ifndef SC_CHANGED
#define SC_CHANGED 0x50
#endif
#ifndef SCF_INDEF
#define SCF_INDEF 0x0000
#define SCF_DBASE 0x0001 /* Datenbank-Dateien
(".DBF", ".CSV", ...) */
#define SCF_TEXT 0x0002 /* Textdateien
(".TXT", ".ASC", ".RTF", ".DOC", ...) */
#define SCF_VECTOR 0x0004 /* Vektorgrafik
(".GEM", ".EPS", ".CVG", ".DXF", ...) */
#define SCF_RASTER 0x0008 /* Rastergrafik
(".IMG", ".TIF", ".GIF", ... */
#define SCF_SHEET 0x0010 /* Tabellenkalkulation
(".DIF", ".WKS", ...) */
#define SCF_SOUND 0x0020 /* Samples, MIDI-Files, Klänge, ...
(".MOD", ".SND", ...) */
#define SCF_SYSTEM 0x8000 /* systemrelevante Dateien (z.B. Farbpaletten)
(".GCP", ...) */
#endif
/* Das OLGA-Info-Dateiformat
========================= */
typedef struct {
long magic; /* 'OLGA' */
int version, /* z.Z. 0x100 */
skip; /* Anzahl der folgenden Headerbytes, die überlesen
werden müssen; z.Z. 0 */
} OLGAInfHeader;
typedef struct {
long id, /* Block-ID */
length; /* Anzahl der folgenden Datenbytes */
} OLGABlockHeader;
/* die Funktionen */
BOOLEAN run_appl(char *appname,char *cmdlin);
void *global_strcpy(char *str);
int get_avserver_id(void);
int xappl_find(char *appname);
void olga_init(int olga_bitmap,int oep_bitmap,int xacc_typ);
void olga_exit(void);
void olga_rename(char *oldname,char *newname);
void olga_breaklink(char *filename);
void olga_opendoc(int olga_groupid);
void olga_closedoc(int olga_groupid);
void olga_link(char *filename,int olga_groupid);
void olga_unlink(char *filename,int olga_groupid);
void olga_start(char *cmdlin,int olga_ols,...);
void sc_changed(int bitmask,long ext);
void olga_info(char *infoname,int apid,int index);
void olga_getinfo(int apid,int index);
void olga_update(char *filename,int index);
void olga_rminfo(char *infoname,int apid,int index);
int appl_xgetinfo(int type,int *out1,int *out2,int *out3,int *out4);
BOOLEAN send_msg(int apid,int msg,...);
#endif